package com.zdxlz.fcmp.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zdxlz.fcmp.business.dto.IpsecVpnTemplateConfigDto;
import com.zdxlz.fcmp.business.entity.IpsecVpnTemplateConfigEntity;
import com.zdxlz.fcmp.business.vo.IpsecVpnTemplateConfigVo;

import java.util.List;

/**
 * <p>
 * IPSec模板配置表  服务类
 * </p>
 *
 * @author: aman
 * @since 2025-02-08
 */
public interface IIpsecVpnTemplateConfigService extends IService<IpsecVpnTemplateConfigEntity> {

    /**
     * @description 分页查询VPN模板信息列表
     * @author aman
     * @date 2025/2/11 16:25
     */
    IPage<IpsecVpnTemplateConfigVo> getList(Page<IpsecVpnTemplateConfigEntity> page, IpsecVpnTemplateConfigDto vpnTemplateConfigDto);

    /**
     * @description 查询所有VPN模板信息列表
     * @author aman
     * @date 2025/2/11 16:25
     */
    List<IpsecVpnTemplateConfigVo> getAllList();

    /**
     * @description：新建VPN模板信息
     * @author：aman
     * @date：2025/2/14 11:23
     */
    boolean createIpsecVpnTemplateConfig(IpsecVpnTemplateConfigEntity vpnTemplateConfig);

    /**
     * @description：通过VPN模板ID更新模板信息
     * @author：aman
     * @date：2025/2/14 11:20
     */
    boolean updateIpsecVpnTemplateConfig(IpsecVpnTemplateConfigEntity vpnTemplateConfig);

    /**
     * @description：通过VPN模板ID删除模板信息
     * @author：aman
     * @date：2025/2/14 11:20
     */
    boolean deleteIpsecVpnTemplateConfig(List<Integer> ids);
}
